package com.sxjh.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 定量装车信息
 * </p>
 *
 * @author zixin
 * @since 2023-06-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("it_trucking_order_info")
@ApiModel(value="TruckingOrderInfo对象", description="定量装车信息")
public class TruckingOrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "派车单id")
    @TableField("trucking_orders_id")
    //@NotNull(message = "派车单id 不能为空")
    @JSONField(name = "trucking_orders_id")
    private Integer truckingOrdersId;

    @ApiModelProperty(value = "派车单单号")
    @TableField("trucking_orders_order_no")
    //@NotNull(message = "派车单单号 不能为空")
    @JSONField(name = "trucking_orders_order_no")
    private String truckingOrdersOrderNo;

    @ApiModelProperty(value = "车牌号码")
    @TableField("trucking_orders_plate_number")
    //@NotNull(message = "车牌号码 不能为空")
    @JSONField(name = "trucking_orders_plate_number")
    private String truckingOrdersPlateNumber;

    @ApiModelProperty(value = "派车单明细ID")
    @TableField("trucking_order_details_id")
    //@NotNull(message = "派车单明细ID 不能为空")
    @JSONField(name = "trucking_order_details_id")
    private Integer truckingOrderDetailsId;

    @ApiModelProperty(value = "物料名称")
    @TableField("trucking_order_details_material_name")
    //@NotNull(message = "物料名称 不能为空")
    @JSONField(name = "trucking_order_details_material_name")
    private String truckingOrderDetailsMaterialName;

    @ApiModelProperty(value = "客户名称")
    @TableField("trucking_order_details_company_name")
    //@NotNull(message = "客户名称 不能为空")
    @JSONField(name = "trucking_order_details_company_name")
    private String truckingOrderDetailsCompanyName;

    @ApiModelProperty(value = "装车计划量/kg")
    @TableField("trucking_order_details_quantity")
    //@NotNull(message = "装车计划量/kg 不能为空")
    @JSONField(name = "trucking_order_details_quantity")
    private Integer truckingOrderDetailsQuantity;

    @ApiModelProperty(value = "装车实际量/kg")
    @TableField("trucking_order_details_actual_weight")
    //@NotNull(message = "装车实际量/kg 不能为空")
    @JSONField(name = "trucking_order_details_actual_weight")
    private Integer truckingOrderDetailsActualWeight;

    @ApiModelProperty(value = "计量值/kg")
    @TableField("trucking_order_details_measure")
    @JSONField(name = "trucking_order_details_measure")
    private Integer truckingOrderDetailsMeasure;

    @ApiModelProperty(value = "IC卡号")
    @TableField("trucking_order_details_physical_number")
    //@NotNull(message = "IC卡号 不能为空")
    @JSONField(name = "trucking_order_details_physical_number")
    private String truckingOrderDetailsPhysicalNumber;

    @ApiModelProperty(value = "IC卡印刷编号")
    @TableField("trucking_order_details_print_number")
    //@NotNull(message = "IC卡印刷编号 不能为空")
    @JSONField(name = "trucking_order_details_print_number")
    private String truckingOrderDetailsPrintNumber;

    @ApiModelProperty(value = "司机姓名")
    @TableField("trucking_order_details_driver_name")
    //@NotNull(message = "司机姓名 不能为空")
    @JSONField(name = "trucking_order_details_driver_name")
    private String truckingOrderDetailsDriverName;

    @ApiModelProperty(value = "开单日期")
    @TableField("bill_at")
    //@NotNull(message = "开单日期 不能为空")
    @JSONField(name = "trucking_order_details_billDate", format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime billAt;

    /**
     * 装车重量误差计量值
     */
    @TableField("weight_error_calculation_value")
    private Integer weightErrorCalculationValue;

    @ApiModelProperty(value = "产生地点")
    @TableField("addr")
    //@NotNull(message = "产生地点 不能为空")
    @JSONField(name = "trucking_order_details_site")
    private String addr;

    @ApiModelProperty(value = "删除标记,1:否,-1:是")
    @TableField("del_flag")
    private Integer delFlag;

    @ApiModelProperty(value = "是否已读:1,已读;2未读")
    @TableField("readed")
    private Integer readed;

    @ApiModelProperty(value = "是否已推送, 1：是, 2：否")
    @TableField("is_push")
    private Integer isPush;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;


}
